package net.siufung.security.api.service;

import com.alibaba.fastjson.JSONObject;

import java.util.Date;

/**
 * @author 陈建峰
 * @since 2022/6/14 5:20 下午
 */
public interface IAccessTokenService {

    /**
     * 验证并获得有效Token 并且返回JSONObject
     * @param token token传参
     * @return 有效用户JSON对象
     */
    JSONObject getValidTokenObj(String token);

    /**
     * 验证并获得有效Token 并且返回JSONObject
     * @param token token传参 不带 Bearer
     * @return 有效用户字符串
     */
    String getValidToken(String token);

    /**
     * Token访问忽视Url
     * @param url url
     * @return boolean
     */
    boolean ignoreUrlForToken(String url);

    /**
     * 重新设置Token过期时间
     * @param token 令牌
     * @param expireDate 过期时间
     */
    void setExpirationDate(String token, Date expireDate);

}
